The present invention relates generally to image forming equipment and is particularly directed to printers of the type which receive raw binary data as print jobs. The invention is specifically disclosed as a printer that can automatically determine when a raw binary data print job is received from an Apple Computer or other host device.
The PostScript language can be communicated to a printer using a variety of protocols. In 1992, Adobe defined three such protocols for parallel and serial communication channels, as follows:
Adobe Standard Protocol (ASP),
Binary Communications Protocol (BCP), and
Tagged Binary Communications Protocol (TBCP).
The Adobe specification that describes these protocols indicates that they contain control sequences that should not be embedded in PostScript documents sent via communication channels other than serial or parallel. The following is a quote from the Adobe specification:
The protocols described here are link-level protocols that are specific to serial and parallel communications channels. The protocols define special character sequences to indicate special control functions that are not logically part of the data stream.
Other communications channels provide such functions in entirely different ways, such as with special packet types in a local area network (LAN). When communicating via such channels or when saving a PostScript language program to a file, it is never appropriate to embed any of the control sequences described in this document.
A further protocol is also used to communicate the PostScript language and is referred to as xe2x80x9craw binary data,xe2x80x9d which will be referred to below as xe2x80x9cRAW.xe2x80x9d This fourth protocol requires control sequences to be performed using the features available in the communications channel, such as the special packet types noted above. The RAW protocol allows any character or character sequence to be sent to a printer and interpreted as print data, rather than as a special control sequence. For example, the hex 14 character would be interpreted in the ASP protocol as a Job Status Request, but in the RAW protocol it would merely refer to data to be printed having that value of 14 hexadecimal.
All of the above protocols could properly be handled by a printer if the protocol being used in the data stream is easily and accurately detectable by the printer. Unfortunately, the control sequences in the ASP, BCP, and TBCP protocols can be the same numeric information as graphic, fonts, images, or other data in the RAW protocol, and the printer could incorrectly process the print job if it does not determine the correct protocol being used by the host or source.
Print drivers under different operating systems for host computers use different protocols when creating the PostScript data stream. The majority of the host operating systems use the ASP, BCP, or TBCP protocols, since the use of these protocols allows the printer to easily and accurately detect the protocol being used. However, one significant operating system does not use ASP, BCP, or TBCP, which is the operating system running on computers manufactured by Apple Computer Company. The APPLE(copyright) operating systems can use some of these protocols, but typically use the RAW protocol. This creates a problem for printers, since mixing RAW protocol print jobs and non-RAW print jobs often results in incorrect print output.
In the past, APPLE(copyright) computers mostly used AppleTalk(trademark) and EtherTalk(trademark) communication channels to communicate to printers. Since these channels are unique to APPLE(copyright) computers, network adapters manufactured by Lexmark International, Inc. handle PostScript jobs by converting all AppleTalk and EtherTalk jobs to the TBCP protocol. LEXMARK(copyright) printers with on-board AppleTalk or EtherTalk handle PostScript jobs by setting the printer""s data stream scanner to handle PostScript jobs using the RAW protocol. These conversions and configuration changes were handled automatically by the printer, without user intervention.
APPLE(copyright) computers also use the USB and Direct IP(trademark) communication channels. Since these communication channels are not unique to APPLE(copyright) brand computers, printers can no longer perform the conversion or configuration changes with certainty, whereas in the past they were automatically performed with no problems. The printer could not automatically make a conversion or configuration change for USB and Direct IP communication channels, because PostScript print jobs from other operating systems could become unprintable.
Lexmark currently produces printers with USB ports, and some customers with APPLE(copyright) computers print binary PostScript jobs that use the RAW protocol. In such situations, Lexmark supplies the customer with a PostScript file that is manually sent to the printer by the customer which changes the USB communications channel configuration to process PostScript jobs using the RAW protocol. This allows the APPLE(copyright) operating system to work, but prevents the printer from printing certain print jobs from other operating systems using the same USB port. Apple customers can also configure their operating system to convert the binary data to ASCII within the PostScript print job, but some applications do not honor this setting and will continue to send the print job containing binary data, which results in a failed print job.
To solve the problem with Direct IP printing, Lexmark currently recommends the same manual configuration change used on a USB port, which allows the APPLE(copyright) computer to print through the IP network connection, but will cause some print jobs from non-Apple computers on the same network to fail to print on that printer. Configuring the non-Apple computers on the network to convert the binary data to ASCII would resolve the problems, but not all computers or applications support converting a print job to ASCII. This lack of full support for ASCII mode printing results in the ASCII mode being an unacceptable solution.
Hewlett-Packard also ships printers with an available USB communications channel. The Hewlett-Packard solution for the binary data problem is for the customer to set their printer driver to use the ASCII protocol. However, Hewlett-Packard indicates that there could be a problem when attempting to print binary encoded data. Printing RAW binary data with the Direct IP communications channel is accomplished by having the user reconfigure the print driver of their operating system to select a special BINPS print queue in their network printer servers.
It would be an improvement to provide a printer that could automatically detect a print job under the RAW protocol that will also allow print jobs using the RAW protocol to be intermixed with print jobs using other protocols, while allowing all jobs to print correctly.
Accordingly, it is an advantage of the present invention to provide a print data detection system that automatically determines when a RAW protocol print job is being sent to a printer, while also automatically determining when other protocols are used for print jobs sent either by different host computers, or with different protocols, in which all print jobs will print correctly.
It is another advantage of the present invention to provide a printer that automatically detects when a RAW protocol print job is being received, and will also operate successfully with other print job protocols, through the use of an Emulation Manager as well as a Print Language Interpreter.
It is a further advantage of the present invention to provide a printer that can automatically detect the use of a binary PostScript print job sent by an APPLE(copyright) computer operating system that provides the user with the ability to print correctly without performing additional configuration steps that would otherwise be required to allow the computer and printer to operate using the same protocol.
It is still another advantage of the present invention to provide a printer that can automatically detect a print job that uses the binary PostScript protocol, sent by either an APPLE(copyright) computer or a non-Apple computer, and also has the ability to print from both APPLE(copyright) and non-Apple computers through IP printing without the need for special print queues or print servers.
Additional advantages and other novel features of the invention will be set forth in part in the description that follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned with the practice of the invention.
To achieve the foregoing and other advantages, and in accordance with one aspect of the present invention, a method for automatically detecting and processing binary print data is provided, comprising the following steps: providing an image forming apparatus having a memory circuit for storage of data, a communications port, and a processing circuit, the memory circuit containing at least one computer program that includes a code sniffer function and an emulator function; scanning, by use of the code sniffer function, incoming data received at the communications port to determine if a predetermined special token has been received in a print job; and if the predetermined special token has been received, the code sniffer function changes a mode of operation so that it will treat all further incoming data for this print job as RAW binary data.
In accordance with another aspect of the present invention, a method for automatically detecting and processing binary print data is provided, comprising the following steps: providing an image forming apparatus having a memory circuit for storage of data, a communications port, and a processing circuit, the memory circuit containing an input buffer, a code sniffer buffer, an emulator working memory area, and at least one computer program that includes a code sniffer function and an emulator function; the input buffer receiving input data from the communications port and sending at least one portion of the input data to the code sniffer buffer, scanning, at the beginning of a print job, the portion of incoming data in the code sniffer buffer to determine the type of emulator that corresponds to the print job input data, and to determine if a predetermined data pattern has been received in a print job; if at least one predetermined data pattern is found, the code sniffer function temporarily ceases to pass any further data to the emulator working area until the emulator function determines whether the predetermined data pattern comprises a predetermined special token; and if the predetermined special token has been received, the code sniffer function changing a mode of operation so that it will treat all further incoming data for this print job as RAW binary data.
In accordance with a further aspect of the present invention, an image forming apparatus is provided, which comprises: a memory circuit for storage of data, and containing at least one computer program that includes a code sniffer function and an emulator function; a communications port that is effectively connected to at least one external device and to the memory circuit, the communications port providing data from the at least one external device to the memory circuit, and a processing circuit which is configured to scan by use of the code sniffer function, incoming data received at the communications port to determine if a predetermined special token has been received in a print job, and if the predetermined special token has been received, the processing circuit is further configured to change a mode of operation so as to require the code sniffer function to treat all further incoming data for this print job as RAW binary data.
Still other advantages of the present invention will become apparent to those skilled in this art from the following description and drawings wherein there is described and shown a preferred embodiment of this invention in one of the best modes contemplated for carrying out the invention. As will be realized, the invention is capable of other different embodiments, and its several details are capable of modification in various, obvious aspects all without departing from the invention. Accordingly, the drawings and descriptions will be regarded as illustrative in nature and not as restrictive.